﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Runtime.Serialization;

using SBPweb.PROvibe.Server.Library.Base;
using SBPweb.PROvibe.Shared.Library.Layout;

namespace SBPweb.PROvibe.Server.Library.Contracts
{

    [DataContract]
    public class Page : Actor, IPage
    {

        #region Constructor logic

        public Page()
        {
        }

        public Page(Application parent)
        {
            this.Parent = parent;
            this.Zones = new ManagableReadOnlyObservableCollection<IZone>();
        }

        #endregion

        #region Properties

        [IgnoreDataMember]
        public virtual IApplication Parent
        {
            get;
            protected set;
        }

        [IgnoreDataMember]
        public virtual ReadOnlyCollection<IZone> Zones
        {
            get;
            protected set;
        }

        #endregion

    }

}